-
Notifications
You must be signed in to change notification settings - Fork 960
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Decouples rigid object and articulation asset classes #644
Conversation
Signed-off-by: Mayank Mittal <12863862+Mayankm96@users.noreply.github.com>
source/extensions/omni.isaac.lab/test/assets/test_articulation.py
Outdated
Show resolved
Hide resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Everything looks good. I just have a specific question about the num_instances property of the articulation
source/extensions/omni.isaac.lab/omni/isaac/lab/assets/articulation/articulation.py
Outdated
Show resolved
Hide resolved
source/extensions/omni.isaac.lab/omni/isaac/lab/assets/articulation/articulation.py
Show resolved
Hide resolved
This seems like a big change, do you mind outlining the pros / cons of this approach? It looks like we're not getting much benefit at first glance, but are now having a lot of repeated code that will be difficult to maintain |
Signed-off-by: Mayank Mittal <12863862+Mayankm96@users.noreply.github.com>
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
LGTM if sufficiently tested!
We need to keep an eye on any of the now duplicated code changing and make sure it is changed in both places (although these changes seem unlikely which is good!)
Signed-off-by: Mayank Mittal <12863862+Mayankm96@users.noreply.github.com>
# Description Since we override a lot of the functions from RigidObject inside the Articulation class, we don't need to rely on inheritance anymore. Duplicacy in the code makes it easier to understand the two classes' functionalities without severely added overhead from the maintenance side. Moreover, conceptually, it can be motivated that the two are independent concepts. This MR decouples the rigid object and articulation concepts in the framework. ## Type of change - Breaking change (fix or feature that would cause existing functionality to not work as expected) - This change requires a documentation update ## Checklist - [x] I have run the [`pre-commit` checks](https://pre-commit.com/) with `./isaaclab.sh --format` - [x] I have made corresponding changes to the documentation - [x] My changes generate no new warnings - [ ] I have added tests that prove my fix is effective or that my feature works - [x] I have updated the changelog and the corresponding version in the extension's `config/extension.toml` file - [x] I have added my name to the `CONTRIBUTORS.md` or my name already exists there --------- Co-authored-by: David Hoeller <dhoeller@nvidia.com>
Description
Since we override a lot of the functions from RigidObject inside the Articulation class, we don't need to rely on inheritance anymore. Duplicacy in the code makes it easier to understand the two classes' functionalities without severely added overhead from the maintenance side. Moreover, conceptually, it can be motivated that the two are independent concepts.
This MR decouples the rigid object and articulation concepts in the framework.
Type of change
Checklist
pre-commit
checks with./isaaclab.sh --format
config/extension.toml
fileCONTRIBUTORS.md
or my name already exists there